package cc.mcggdd.leah.boot.stock.service;

import cc.mcggdd.leah.boot.stock.model.entity.StockBondReverseRepo;
import cc.mcggdd.leah.boot.stock.model.form.StockBondReverseRepoForm;
import cc.mcggdd.leah.boot.stock.model.query.StockBondReverseRepoQuery;
import cc.mcggdd.leah.boot.stock.model.vo.StockBondReverseRepoVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.math.BigDecimal;

/**
 * 国债逆回购服务类
 *
 * @author 
 * @since 2025-02-08 12:39
 */
public interface StockBondReverseRepoService extends IService<StockBondReverseRepo> {

    /**
     *国债逆回购分页列表
     *
     * @return
     */
    IPage<StockBondReverseRepoVO> getStockBondReverseRepoPage(StockBondReverseRepoQuery queryParams);

    /**
     * 获取国债逆回购表单数据
     *
     * @param id 国债逆回购ID
     * @return
     */
     StockBondReverseRepoForm getStockBondReverseRepoFormData(Long id);

    /**
     * 新增国债逆回购
     *
     * @param formData 国债逆回购表单对象
     * @return
     */
    boolean saveStockBondReverseRepo(StockBondReverseRepoForm formData);

    /**
     * 修改国债逆回购
     *
     * @param id   国债逆回购ID
     * @param formData 国债逆回购表单对象
     * @return
     */
    boolean updateStockBondReverseRepo(Long id, StockBondReverseRepoForm formData);

    /**
     * 删除国债逆回购
     *
     * @param ids 国债逆回购ID，多个以英文逗号(,)分割
     * @return
     */
    boolean deleteStockBondReverseRepos(String ids);

    /**
     * 获取国债逆回购总额
     * @return
     */
    BigDecimal getStockBondReverseRepoTotalAmount();
}
